package com.qfmy.common.utils;

import sun.rmi.runtime.Log;

import java.util.Random;
import java.util.UUID;

/**
 * @ClassName: StringUtils
 * @author： zhengjt
 * @data： 2022/6/6 14:14
 * @version：1.0
 * @描述：
 */
public class StringUtils {

    public static void main(String[] args) {
//        String nullStr = "null";
//        System.out.println(" isEmpty == " + isEmpty(nullStr));
//        System.out.println(" isNotEmpty == " + isNotEmpty(nullStr));
//
//        System.out.println("org.springframework.util.StringUtils === "+ org.springframework.util.StringUtils.isEmpty(nullStr));
//
//        System.err.println(" isNull ======= " + isNull(nullStr));
//        System.err.println(" isNotNull ======= " + isNotNull(nullStr));

//        String test = "test";
//        StringBuilder stringBuffer = new StringBuilder(test);
//
//        for (int i = 0; i < 9; i ++){
//            stringBuffer.append(String.valueOf(i));
//            test = stringBuffer.toString();
//            System.out.println("循环内参数信息 ===== " + test);
//        }
//        System.out.println("循环结束 ==== " + test);
//
//        StringBuilder test2 = new StringBuilder("test");
//        for (int i = 0; i < 9 ; i ++){
//            test2.append(String.valueOf(i));
//            System.out.println("循环内 " + test2);
//        }
//        System.out.println("循环外" + test2);

//        String uuid = getUUIDString();
//        System.out.println(uuid);

//        String uuid = getRandom();
//        System.out.println(uuid);
    }

    /**
     * 判断是否为空 （自写）
     * 备注： 参数不能为“null”，如果为null 则 return true
     * @param str   需要判断的参数
     * @return  null : true ;
     *          !null : false ;
     */
    public static boolean isNull(String str){
        return str == null || "".equals(str.trim()) || "null".equals(str.toLowerCase());
    }

    /**
     * 判断是否不为空（自写）
     * @param str   需要判断的参数
     * @return  null : false ;
     *          !null : true ;
     */
    public static boolean isNotNull(String str){
        return !isNull(str);
    }

    /**
     * 判断是否不为空
     * 来自 org.springframework.util.StringUtils
     * @param str   需要判断的参数
     * @return  null : false ;
     *          !null : true ;
     */
    public static boolean isNotEmpty(String str){
        return org.springframework.util.StringUtils.hasText(str);
    }

    /**
     * 判断是否为空
     * 来自 org.springframework.util.StringUtils
     * @param str   需要判断的参数
     * @return  null : true ;
     *          !null : false ;
     */
    public static boolean isEmpty(String str){
        return !isNotEmpty(str);
    }

}
